<canvas id="canvas" width="200" height="100"></canvas>
<script>
var img = new Image();
// This is a 2x1 image, blue at (0, 0) and green at (1, 0).
img.src = 'data:image/png;base64,' +
'iVBORw0KGgoAAAANSUhEUgAAAAIAAAABCAIAAAB7QOjdAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAA' +
'CxMBAJqcGAAAAAd0SU1FB9wIGxQKIbPpHtMAAAAPSURBVAjXY2Bg+M/wnwEABgEB/6KPEdkAAAAASUVO' +
'RK5CYII=';

img.onload = function()
{
    // Start from the middle of the blue pixel and stretch to the entire
    // canvas. Canvas should have 1/3 blue on the left and 2/3 green on the
    // right, with gradient if interpolation allows.
    var ctx = document.getElementById("canvas").getContext("2d");
    ctx.drawImage(img, 0.5, 0, 1.5, 1, 0, 0, 200, 100);
}
</script>
